package com.hxd.otc.mvp.contract;

import com.hxd.otc.common.enums.TakeOrderStatusEnum;
import com.hxd.otc.main.bean.TabBottomBean;
import com.hxd.otc.module.my.bean.AppInfoBean;
import com.hxd.otc.module.my.bean.NoticeBean;
import com.hxd.otc.module.order.bean.RedPointBean;
import com.hxd.otc.mvp.base.IBasePresenter;
import com.hxd.otc.mvp.base.IBaseView;

import java.util.ArrayList;
import java.util.List;

/**
 * 类  名 :  MainContract
 * 作  者 :  胡庆岭
 * 时  间 :  2018/5/31 14:58
 * 描  述 :  ${MainActivity Contract}
 */
public interface MainContract {
    interface IMainView extends IBaseView {
        void getPointFlag(RedPointBean bean);

        void getUpdateVersionInfoSuccess(AppInfoBean appInfoBean);

        void getAfficheListSuccess(ArrayList<NoticeBean> beans);

        void queryTakeOrderSuccess(TakeOrderStatusEnum takeOrderStatusEnum);

        void queryTakeOrderFail(String errMessage);

        void updateTakeOrderStatusSuccess(TakeOrderStatusEnum takeOrderStatusEnum);

        void updateTakeOrderStatusFail(String errMessage);

        void setNosenseMessageNotice(int numbers);

        void clearNosenseRefresh();
    }

    interface Presenter extends IBasePresenter {

        void redPointFlag();

        void getUpdateVersionInfo();

        void getAfficheList(int currentPage, int showCount);

        List<TabBottomBean> getBottomTabsData();

        void queryTakeOrderStatus();

        void updateTakeOrderStatus(TakeOrderStatusEnum takeOrderStatusEnum);

        TakeOrderStatusEnum getTakeOrderStatusEnum();

        void getNosenseMessageNotice();
    }
}
